package com.gkzf.ai.module.crm.controller.admin.product.vo.product;

import com.alibaba.excel.annotation.ExcelProperty;
import com.gkzf.ai.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

@Schema(description = "管理后台 - CRM 产品分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CrmProductPageReqVO extends PageParam {

    @Schema(description = "产品ID", example = "20529")
    @ExcelProperty("产品ID")
    private Long id;

    @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "好产品")
    @ExcelProperty("产品名称")
    private String name;

    @Schema(description = "产品编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "12306")
    @ExcelProperty("产品编码")
    private String no;

    @Schema(description = "最大限额", requiredMode = Schema.RequiredMode.REQUIRED, example = "8911")
    @ExcelProperty("最大限额")
    private BigDecimal maxQuota;

    @Schema(description = "状态", example = "0")
    @ExcelProperty( "状态")
    private List<Integer> statusList;

    @Schema(description = "排序字段", example = "{processing_cycle：办理周期  loans_deadline：贷款期限  max_quota：最高可贷额度}")
    private String sortField;

    @Schema(description = "排序方式", example = "DESC 降序  ASC 正序")
    private String sortMethod;

    @Schema(description = "贷款类型集合", example = "[1,2]")
    private List<String> loanTypeList;

    @Schema(description = "办理周期集合", example = "[1,2]")
    private List<String> processingCycleList;

    private List<Long> userList;

    @Schema(description = "贷款期限", example = "[1,2]")
    private List<Long> loansDeadlineList;

    @Schema(description = "还款方式集合",  example = "[1,2]")
    private List<String> repaymentTypeList;

    /**
     *  是否推送app端
     */
    @Schema(description = "是否推送app端")
    private Integer isPushRemotely;


    /**
     *  是否推送推荐 默认0不推荐  1推荐
     */
    @Schema(description = "是否推送推荐 默认0不推荐  1推荐")
    private Integer isRecommendation;
}
